#ifndef GAMESTATE_TUTORIAL_TUTORIAL_H
#define GAMESTATE_TUTORIAL_TUTORIAL_H


#include "Engine/Resource/Graphic.h"
#include "Engine/Sense.h"
#include "Engine/Visual.h"
#include "SDL.h"

namespace Engine { class Backbone; } 

namespace GameState {

namespace Tutorial {

class Tutorial : public Engine::Sense, public Engine::Visual {
  private:
	Engine::Resource::Graphic tutorialPic; 
	Tutorial(); 

  public:
	~Tutorial(); 
	inline virtual void exit(); 
	virtual Engine::Resource::GraphicList display(); // Asks for generation of a graphical model to be displayed
	void keyDown(SDLKey sym, SDLMod mod, Uint16 unicode); 
	static inline Tutorial * raise(); // Raise the singleton object

  private:
	static Tutorial * singleInstance; // Single instance of tutorial screen
};
inline void Tutorial::exit() {
}

// Raise the singleton object
inline Tutorial * Tutorial::raise()
{
	if (singleInstance == NULL) singleInstance = new Tutorial();
	return singleInstance;
}


} // namespace GameState::Tutorial

} // namespace GameState
#endif
